|
(ELF) とは、コンパイラが生成するオブジェクト、および、ライブラリとリンクされた実行ファイルのファイルフォーマットである。a.outフォーマット、COFFの後継として広く採用されている。セクション数の制限が緩く、メモリ上で連続していないファイルや、ロードされる場所と実行される場所が違う箇所を含む場合にも対応が可能な柔軟な設計となっている。 System V が採用し、GNUツールチェーンがサポートしていることもあり、今ではBSD派生OSや、LinuxをはじめとするフリーなOSにおける実行ファイルフォーマットそして、ゲーム機等を含む組み込み機器開発に於いても好んで使われている。 == ヘッダ == ELFには以下の3種類のヘッダがある。 ;ELFヘッダ :ファイルの先頭に存在し、ELF識別子、アーキテクチャ情報および、他の2つのヘッダへの情報を持つ。 ;プログラムヘッダ :ファイル上のどの部分(セグメント)がどのような属性で何処に読み込まれるかを保持するヘッダであり、ファイルローダによって扱われる。ELFヘッダに続いて実行時ディスクから何らかの形で読み込まれるセグメントの数だけ存在する。 ;セクションヘッダ :オブジェクトファイルの論理的な構造を記述する部分で、ヘッダと名前がついているが実際にはファイルの最後あたりに置かれていることが多い。ここはリンカやデバッガによって参照されることがある。セクションはセクション名があるが、それは特殊なセクションに置かれ何番目の文字列かという指し方を行う。このことによって、エントリそのものは固定長にしつつセクション名の長さ制限を取り払っている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Executable and Linkable Format」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Executable and Linkable Format 」があります。 スポンサード リンク
|